<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // https://leetcode-cn.com/problems/valid-palindrome-ii/
        // 找到一个规律：
        // 以"abdda"这个串为例，此时i指向'b'，j指向'd'，发现不对了。但是有一次删除的机会，我们自己写几个case其实就能发现，
        // 此时子串范围为(i+1, j)或(i, j-1)的俩子串只要有任意一个是回文串，则结果就是回文串，否则就不是。
        var validPalindrome = function(s) {
            let i = 0; 
            let j = s.length - 1;
            while (i < j) {
                if (s[i] !== s[j]) {
                    return isPalindrome(s, i + 1, j) || isPalindrome(s, i, j - 1);
                }
                i++;
                j--;
            }
            return true
        };
        var isPalindrome = function (s, i, j) {
            while (i < j) {
                if (s[i] !== s[j]) {
                    return false;
                }
                i++;
                j--;
            }
            return true;
        }
        console.log(validPalindrome("cbbcc"));
    </script>
</body>
</html>